package code.c02_list.linkList;

import code.c02_list.linkList.LinkListClass;
import code.c02_list.clinkList.LinkNode;

/**
 * @author thinkpad - 83start
 * @version v1.0
 * @create 2022/9/18 18:41
 * @package code.c02_list.classwork.examples
 * @description 有一个整数单链表，设计一个算法，逆置L中的所有的结点。
 *
 */

public class Exam_2_13 {
    public static void Reverse(LinkListClass<Integer> L){
        // p 指针 指向首节点
        LinkNode<Integer> p = L.head.next;
        LinkNode<Integer> q;

        // 将 L 置为 空
        L.head.next = null;
        while (p.next != null){
            // q 临时保存 p 节点的后继节点
            q= p.next;
            // 将 p 节点插入到表头
            p.next = L.head.next;
            L.head.next = p;
            p =q;
        }
    }

}
